import java.util.ArrayList;
import java.util.List;
import java.util.UUID;

import ml.ml.Clases.CassandraList;
import ml.ml.Clases.Comentario;
import ml.ml.Clases.Publicacion;
import ml.ml.Clases.Transaccionista;
import ml.ml.Dao.ComentarioDAO;
import ml.ml.Dao.PublicacionDAO;
import ml.ml.Dao.TransaccionistaDAO;

public class Ml {
	private static TransaccionistaDAO dao = TransaccionistaDAO.getInstance();
	
	 public static void main(String[] arg) {
	    //crearUsuarioConPublicaciones();
	    //list();
	    Transaccionista tran = new Transaccionista("31033533", "Martin", "marprg@gmail.com");
	    tran.MostrarPublicacion("1E3C");
		 //Comentario comentario = ComentarioDAO.getInstance().retrieve("cC");
		 //comentario.responderComentario("eE", "bliblibli");
	    
		//preguntarYresponder();
		// VenderProducto("31033533", "1ECS", "ABC");
		//buscarProducto();
	   
	 }

	 private static void crearUsuarioConPublicaciones(){
		 System.out.println("Creando publicaciones");
		 CassandraList<String> ventas = new CassandraList<String>();
		 System.out.println("Creando transaccionista");
		 Transaccionista tran = new Transaccionista("31033533", "Martin", "marprg@gmail.com");
		 Transaccionista tran1 = new Transaccionista("31033531", "Lea", "marprg@gmail.com");
		 Transaccionista tran2 = new Transaccionista("31033532", "bla", "marprg@gmail.com");
		 Transaccionista tran3 = new Transaccionista("31033543", "Martin", "marprg@gmail.com");
		 Transaccionista tran4 = new Transaccionista("31033535", "Lea", "marprg@gmail.com");
		 
		 
		 tran1.Publicar("1A2B", "Bicicleta Fija", "1500");
		 tran2.Publicar("1E3C", "Ford Escort", "21000");
		 tran1.Publicar("1ECS", "Consolador", "200");
		 /*VENDER UN PRODUCTO, ASIGNARLE UN COMPRADOR A UNA PUBLICACION */
		// 
		 
	 }
	 
	 public static void VenderProducto(String tran, String publicacion, String comprador){
		 Transaccionista transac = TransaccionistaDAO.getInstance().retrieve(tran);
		 transac.vender(publicacion, comprador);
		 
	 }
	 
	 public static void preguntarYresponder(){
		 Publicacion pub = PublicacionDAO.getInstance().retrieve("1E3C");
		 pub.agregarPregunta("aA", "Es un producto nuevo?");
		 pub.agregarPregunta("bB", "como está de pintura?");
		 pub.agregarPregunta("cC", "blablabla");
	 }
	 
	 public static void list(){
			 System.out.println("Trayendo Datos");
			 List<Transaccionista> transac =  dao.listAll();
					
			 System.out.println("Nombre               email           ventas ");
			 //System.out.println("" + transac.getNombre() + "      " + transac.getEmail());
			 for (Transaccionista transaccionista : transac) {
				 System.out.println(transaccionista.getNombre() + "\t" + transaccionista.getEmail() + "\t" + transaccionista.getVentas());
			}
			System.out.println("Trayendo comentarios");
			List<Comentario> comentarios = ComentarioDAO.getInstance().listAll();
			System.out.println(comentarios);
	 }
	 
	 public static void buscarProducto(){
		 
		 List<Publicacion> pub5 = PublicacionDAO.getInstance().listByIndex("Consolador");
		 for (Publicacion publicacion : pub5) {
			 System.out.println(publicacion.getNombreprd() + "\t" + "$ " + publicacion.getPrecioPrd());
		}
		 
	 }
	 
}
